package provider;

/*
* 服务提供者 保存和提供服务实例对象
* 一个服务 里面有多个接口 可以提供多个服务。
* */
public interface ServiceProvider {
    //添加接口及其实现类。Object类型 canonicalName 规范的名称 不同包下名字可能相同！
    // 避免错误
    void addService(String canonicalName, Object object);
    //泛型的实现 反射注册对象
    <T> void addService(String canonicalName,Class<T> clazz);

    //根据接口名获取一个接口实现类
    Object getService(String serviceName);
}
